home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / pretty25.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  35KB  |  1,759 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9.  
  10.  
  11. T0* r359start_position(T359* C){
  12. T0* R=NULL;
  13. R=X89start_position((C)->_expression/*4*/);
  14. return R;
  15. }
  16.  
  17.  
  18. T0* r359add_comment(T359* C,T0* a1){
  19. T0* R=NULL;
  20. /*[IF*/
  21. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  22. R=(T0*)C;
  23. }
  24. else{
  25. {T214*n=malloc(sizeof(*n));
  26. *n=M214;
  27. r214make(n,(T0*)C,a1);
  28. R=(T0*)n;
  29. }
  30. }
  31. /*FI]*/
  32. return R;
  33. }
  34. /*No:IMPLICIT_CAST.expression*/
  35.  
  36.  
  37. void r359print_as_target(T359* C){
  38. X89print_as_target((C)->_expression/*4*/);
  39. }
  40.  
  41.  
  42. T2 r359to_integer(T359* C){
  43. T2 R=0;
  44. r359error(r359start_position(C),((T0*)ms12_45846));
  45. return R;
  46. }
  47.  
  48.  
  49. void r359bracketed_pretty_print(T359* C){
  50. X89pretty_print((C)->_expression/*4*/);
  51. }
  52.  
  53.  
  54. T0* r359to_runnable(T359* C,T0* a1){
  55. T0* R=NULL;
  56. T0* _e=NULL;
  57. _e=X89to_runnable((C)->_expression/*4*/,a1);
  58. /*[IF*/
  59. if(((C)->_expression/*4*/)==((void*)(_e))){
  60. R=(T0*)C;
  61. }
  62. else{
  63. {T359*n=malloc(sizeof(*n));
  64. *n=M359;
  65. r359make(n,_e,(C)->_result_type/*8*/);
  66. R=(T0*)n;
  67. }
  68. }
  69. /*FI]*/
  70. return R;
  71. }
  72. /*No:IMPLICIT_CAST.fz_iinaiv*/
  73. /*No:IMPLICIT_CAST.result_type*/
  74.  
  75.  
  76. void r359error(T0* a1,T0* a2){
  77. r37add_position(a1);
  78. r37error((T37*)(oBC11eh),a2);
  79. }
  80.  
  81.  
  82. T2 r359precedence(T359* C){
  83. T2 R=0;
  84. R=X89precedence((C)->_expression/*4*/);
  85. return R;
  86. }
  87.  
  88.  
  89. void r359make(T359* C,T0* a1,T0* a2){
  90. C->_expression=a1;
  91. C->_result_type=a2;
  92. }
  93.  
  94.  
  95. T6 r359is_current(T359* C){
  96. T6 R=0;
  97. R=X89is_current((C)->_expression/*4*/);
  98. return R;
  99. }
  100.  
  101.  
  102. void r359pretty_print(T359* C){
  103. X89pretty_print((C)->_expression/*4*/);
  104. }
  105. /*No:IMPLICIT_CAST.is_void*/
  106. /*No:CALL_INFIX_GT.feature_name*/
  107. /*No:CALL_INFIX_GT.right_brackets*/
  108.  
  109.  
  110. T0* r107start_position(T107* C){
  111. T0* R=NULL;
  112. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  113. return R;
  114. }
  115.  
  116.  
  117. T0* r107add_comment(T107* C,T0* a1){
  118. T0* R=NULL;
  119. /*[IF*/
  120. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  121. R=(T0*)C;
  122. }
  123. else{
  124. {T214*n=malloc(sizeof(*n));
  125. *n=M214;
  126. r214make(n,(T0*)C,a1);
  127. R=(T0*)n;
  128. }
  129. }
  130. /*FI]*/
  131. return R;
  132. }
  133.  
  134.  
  135. T2 r107to_integer(T107* C){
  136. T2 R=0;
  137. r107error(r107start_position(C),((T0*)ms12_45846));
  138. return R;
  139. }
  140.  
  141.  
  142. void r107bracketed_pretty_print(T107* C){
  143. r310put_character((T310*)(oBC11fmt),'\50');
  144. r107pretty_print(C);
  145. r310put_character((T310*)(oBC11fmt),'\51');
  146. }
  147.  
  148.  
  149. void r107print_op(T107* C){
  150. r310put_character((T310*)(oBC11fmt),'\40');
  151. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  152. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  153. }/*]*/
  154. r310put_character((T310*)(oBC11fmt),'\40');
  155. }
  156.  
  157.  
  158. T0* r107to_runnable(T107* C,T0* a1){
  159. T0* R=NULL;
  160. T0* _rf=NULL;
  161. T0* _tbee=NULL;
  162. T0* _at=NULL;
  163. T0* _tt=NULL;
  164. T0* _a=NULL;
  165. T0* _t=NULL;
  166. _t=r107runnable_expression((C)->_target/*4*/,a1);
  167. _a=r107runnable_args((C)->_arguments/*8*/,a1);
  168. _tt=X89result_type(_t);
  169. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  170. /*[IF*/
  171. /*AF*//*AE*/
  172. /*FI]*/
  173. _rf=r107run_feature_for(C,_t,a1);
  174. /*[IF*/
  175. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  176. C->_target=_t;
  177. C->_arguments=_a;
  178. C->_run_feature=_rf;
  179. r107run_feature_match(C,a1);
  180. R=(T0*)C;
  181. }
  182.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  183. R=(T0*)C;
  184. }
  185. else{
  186. {T107*n=malloc(sizeof(*n));
  187. *n=M107;
  188. r107with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  189. R=(T0*)n;
  190. }
  191. }
  192. /*FI]*/
  193. return R;
  194. }
  195. /*No:CALL_INFIX_GT.fz_bad_argument*/
  196. /*No:CALL_INFIX_GT.fz_iinaiv*/
  197.  
  198.  
  199. T0* r107result_type(T107* C){
  200. T0* R=NULL;
  201. T0* _tla=NULL;
  202. R=X312result_type((C)->_run_feature/*16*/);
  203. /*[IF*/
  204. if(X62is_like_current(R)){
  205. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  206. }
  207. else{
  208. _tla=R;
  209. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  210. case 242: 
  211. break;
  212. default:
  213. _tla=NULL;
  214. };/*[IF*/
  215. if((_tla)!=((void*)(NULL))){
  216. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  217. }
  218. /*FI]*/
  219. }
  220. /*FI]*/
  221. return R;
  222. }
  223. /*No:CALL_INFIX_GT.run_feature*/
  224.  
  225.  
  226. T0* r107runnable_args(T0* a1,T0* a2){
  227. T0* R=NULL;
  228. R=r132to_runnable(((T132*)a1),a2);
  229. /*[IF*/
  230. if((R)==((void*)(NULL))){
  231. r37add_position(r132start_position(((T132*)a1)));
  232. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  233. r37fatal_error((T37*)(oBC11eh),b1);
  234. }/*]*/
  235. }
  236. /*FI]*/
  237. return R;
  238. }
  239.  
  240.  
  241. void r107with(T107* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  242. C->_target=a1;
  243. C->_feature_name=a2;
  244. C->_arguments=a3;
  245. C->_run_feature=a4;
  246. r107run_feature_match(C,a5);
  247. }
  248. /*No:CALL_INFIX_GT.fatal_error*/
  249.  
  250.  
  251. void r107run_feature_match(T107* C,T0* a1){
  252. r107run_feature_has_result(C);
  253. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  254. }
  255. /*No:CALL_INFIX_GT.arguments*/
  256.  
  257.  
  258. T0* r107runnable_expression(T0* a1,T0* a2){
  259. T0* R=NULL;
  260. R=X89to_runnable(a1,a2);
  261. /*[IF*/
  262. if((R)==((void*)(NULL))){
  263. r37add_position(X89start_position(a1));
  264. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  265. r37fatal_error((T37*)(oBC11eh),b1);
  266. }/*]*/
  267. }
  268. /*FI]*/
  269. return R;
  270. }
  271. /*No:CALL_INFIX_GT.left_brackets*/
  272. /*No:CALL_INFIX_GT.us_gt*/
  273. /*No:CALL_INFIX_GT.implicit_cast*/
  274.  
  275.  
  276. void r107print_as_target(T107* C){
  277. r310put_character((T310*)(oBC11fmt),'\50');
  278. r107pretty_print(C);
  279. r310put_character((T310*)(oBC11fmt),'\51');
  280. r310put_character((T310*)(oBC11fmt),'\56');
  281. }
  282. /*No:CALL_INFIX_GT.arg1*/
  283.  
  284.  
  285. void r107run_feature_has_result(T107* C){
  286. /*[IF*/
  287. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  288. r37add_position(X312start_position((C)->_run_feature/*16*/));
  289. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  290. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  291. r37fatal_error((T37*)(oBC11eh),b1);
  292. }/*]*/
  293. }
  294. /*FI]*/
  295. }
  296.  
  297.  
  298. T0* r107run_feature_for(T107* C,T0* a1,T0* a2){
  299. T0* R=NULL;
  300. T0* _rc=NULL;
  301. _rc=X62run_class(X89result_type(a1));
  302. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  303. return R;
  304. }
  305. /*No:CALL_INFIX_GT.target*/
  306.  
  307.  
  308. void r107error(T0* a1,T0* a2){
  309. r37add_position(a1);
  310. r37error((T37*)(oBC11eh),a2);
  311. }
  312. /*No:CALL_INFIX_GT.precedence*/
  313.  
  314.  
  315. void r107make(T107* C,T0* a1,T0* a2,T0* a3){
  316. C->_target=a1;
  317. {T121*n=malloc(sizeof(*n));
  318. *n=M121;
  319. r121make(n,r107operator(),a2);
  320. C->_feature_name=(T0*)n;
  321. }
  322. {T132*n=malloc(sizeof(*n));
  323. *n=M132;
  324. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  325. /*]*/
  326. C->_arguments=(T0*)n;
  327. }
  328. }
  329. /*No:CALL_INFIX_GT.is_current*/
  330.  
  331.  
  332. void r107pretty_print(T107* C){
  333. /*[IF*/
  334. if((X89precedence((C)->_target/*4*/))==(13)){
  335. X89pretty_print((C)->_target/*4*/);
  336. }
  337.  else if((6)>(X89precedence((C)->_target/*4*/))){
  338. X89bracketed_pretty_print((C)->_target/*4*/);
  339. }
  340.  else if((6)<(X89precedence((C)->_target/*4*/))){
  341. X89pretty_print((C)->_target/*4*/);
  342. }
  343. /*AF*/else{
  344. X89pretty_print((C)->_target/*4*/);
  345. }
  346. /*FI]*/
  347. r107print_op(C);
  348. /*[IF*/
  349. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  350. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  351. }
  352.  else if((6)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  353. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  354. }
  355.  else if((6)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  356. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  357. }
  358.  else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  359. }
  360. /*FI]*/
  361. }
  362. /*No:CALL_INFIX_GT.is_void*/
  363.  
  364.  
  365. T0* r107operator(void){
  366. T0* R=NULL;
  367. R=((T0*)ms13_63);
  368. return R;
  369. }
  370. /*No:CALL_INFIX_GT.atomic_precedence*/
  371. /*No:CALL_INFIX_LT.feature_name*/
  372. /*No:CALL_INFIX_LT.right_brackets*/
  373.  
  374.  
  375. T0* r109start_position(T109* C){
  376. T0* R=NULL;
  377. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  378. return R;
  379. }
  380.  
  381.  
  382. T0* r109add_comment(T109* C,T0* a1){
  383. T0* R=NULL;
  384. /*[IF*/
  385. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  386. R=(T0*)C;
  387. }
  388. else{
  389. {T214*n=malloc(sizeof(*n));
  390. *n=M214;
  391. r214make(n,(T0*)C,a1);
  392. R=(T0*)n;
  393. }
  394. }
  395. /*FI]*/
  396. return R;
  397. }
  398.  
  399.  
  400. T2 r109to_integer(T109* C){
  401. T2 R=0;
  402. r109error(r109start_position(C),((T0*)ms12_45846));
  403. return R;
  404. }
  405.  
  406.  
  407. void r109bracketed_pretty_print(T109* C){
  408. r310put_character((T310*)(oBC11fmt),'\50');
  409. r109pretty_print(C);
  410. r310put_character((T310*)(oBC11fmt),'\51');
  411. }
  412.  
  413.  
  414. void r109print_op(T109* C){
  415. r310put_character((T310*)(oBC11fmt),'\40');
  416. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  417. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  418. }/*]*/
  419. r310put_character((T310*)(oBC11fmt),'\40');
  420. }
  421.  
  422.  
  423. T0* r109to_runnable(T109* C,T0* a1){
  424. T0* R=NULL;
  425. T0* _rf=NULL;
  426. T0* _tbee=NULL;
  427. T0* _at=NULL;
  428. T0* _tt=NULL;
  429. T0* _a=NULL;
  430. T0* _t=NULL;
  431. _t=r109runnable_expression((C)->_target/*4*/,a1);
  432. _a=r109runnable_args((C)->_arguments/*8*/,a1);
  433. _tt=X89result_type(_t);
  434. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  435. /*[IF*/
  436. /*AF*//*AE*/
  437. /*FI]*/
  438. _rf=r109run_feature_for(C,_t,a1);
  439. /*[IF*/
  440. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  441. C->_target=_t;
  442. C->_arguments=_a;
  443. C->_run_feature=_rf;
  444. r109run_feature_match(C,a1);
  445. R=(T0*)C;
  446. }
  447.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  448. R=(T0*)C;
  449. }
  450. else{
  451. {T109*n=malloc(sizeof(*n));
  452. *n=M109;
  453. r109with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  454. R=(T0*)n;
  455. }
  456. }
  457. /*FI]*/
  458. return R;
  459. }
  460. /*No:CALL_INFIX_LT.fz_bad_argument*/
  461. /*No:CALL_INFIX_LT.fz_iinaiv*/
  462.  
  463.  
  464. T0* r109result_type(T109* C){
  465. T0* R=NULL;
  466. T0* _tla=NULL;
  467. R=X312result_type((C)->_run_feature/*16*/);
  468. /*[IF*/
  469. if(X62is_like_current(R)){
  470. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  471. }
  472. else{
  473. _tla=R;
  474. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  475. case 242: 
  476. break;
  477. default:
  478. _tla=NULL;
  479. };/*[IF*/
  480. if((_tla)!=((void*)(NULL))){
  481. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  482. }
  483. /*FI]*/
  484. }
  485. /*FI]*/
  486. return R;
  487. }
  488. /*No:CALL_INFIX_LT.run_feature*/
  489.  
  490.  
  491. T0* r109runnable_args(T0* a1,T0* a2){
  492. T0* R=NULL;
  493. R=r132to_runnable(((T132*)a1),a2);
  494. /*[IF*/
  495. if((R)==((void*)(NULL))){
  496. r37add_position(r132start_position(((T132*)a1)));
  497. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  498. r37fatal_error((T37*)(oBC11eh),b1);
  499. }/*]*/
  500. }
  501. /*FI]*/
  502. return R;
  503. }
  504.  
  505.  
  506. void r109with(T109* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  507. C->_target=a1;
  508. C->_feature_name=a2;
  509. C->_arguments=a3;
  510. C->_run_feature=a4;
  511. r109run_feature_match(C,a5);
  512. }
  513. /*No:CALL_INFIX_LT.fatal_error*/
  514.  
  515.  
  516. void r109run_feature_match(T109* C,T0* a1){
  517. r109run_feature_has_result(C);
  518. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  519. }
  520. /*No:CALL_INFIX_LT.arguments*/
  521.  
  522.  
  523. T0* r109runnable_expression(T0* a1,T0* a2){
  524. T0* R=NULL;
  525. R=X89to_runnable(a1,a2);
  526. /*[IF*/
  527. if((R)==((void*)(NULL))){
  528. r37add_position(X89start_position(a1));
  529. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  530. r37fatal_error((T37*)(oBC11eh),b1);
  531. }/*]*/
  532. }
  533. /*FI]*/
  534. return R;
  535. }
  536. /*No:CALL_INFIX_LT.left_brackets*/
  537. /*No:CALL_INFIX_LT.implicit_cast*/
  538.  
  539.  
  540. void r109print_as_target(T109* C){
  541. r310put_character((T310*)(oBC11fmt),'\50');
  542. r109pretty_print(C);
  543. r310put_character((T310*)(oBC11fmt),'\51');
  544. r310put_character((T310*)(oBC11fmt),'\56');
  545. }
  546. /*No:CALL_INFIX_LT.us_lt*/
  547. /*No:CALL_INFIX_LT.arg1*/
  548.  
  549.  
  550. void r109run_feature_has_result(T109* C){
  551. /*[IF*/
  552. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  553. r37add_position(X312start_position((C)->_run_feature/*16*/));
  554. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  555. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  556. r37fatal_error((T37*)(oBC11eh),b1);
  557. }/*]*/
  558. }
  559. /*FI]*/
  560. }
  561.  
  562.  
  563. T0* r109run_feature_for(T109* C,T0* a1,T0* a2){
  564. T0* R=NULL;
  565. T0* _rc=NULL;
  566. _rc=X62run_class(X89result_type(a1));
  567. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  568. return R;
  569. }
  570. /*No:CALL_INFIX_LT.target*/
  571.  
  572.  
  573. void r109error(T0* a1,T0* a2){
  574. r37add_position(a1);
  575. r37error((T37*)(oBC11eh),a2);
  576. }
  577. /*No:CALL_INFIX_LT.precedence*/
  578.  
  579.  
  580. void r109make(T109* C,T0* a1,T0* a2,T0* a3){
  581. C->_target=a1;
  582. {T121*n=malloc(sizeof(*n));
  583. *n=M121;
  584. r121make(n,r109operator(),a2);
  585. C->_feature_name=(T0*)n;
  586. }
  587. {T132*n=malloc(sizeof(*n));
  588. *n=M132;
  589. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  590. /*]*/
  591. C->_arguments=(T0*)n;
  592. }
  593. }
  594. /*No:CALL_INFIX_LT.is_current*/
  595.  
  596.  
  597. void r109pretty_print(T109* C){
  598. /*[IF*/
  599. if((X89precedence((C)->_target/*4*/))==(13)){
  600. X89pretty_print((C)->_target/*4*/);
  601. }
  602.  else if((6)>(X89precedence((C)->_target/*4*/))){
  603. X89bracketed_pretty_print((C)->_target/*4*/);
  604. }
  605.  else if((6)<(X89precedence((C)->_target/*4*/))){
  606. X89pretty_print((C)->_target/*4*/);
  607. }
  608. /*AF*/else{
  609. X89pretty_print((C)->_target/*4*/);
  610. }
  611. /*FI]*/
  612. r109print_op(C);
  613. /*[IF*/
  614. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  615. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  616. }
  617.  else if((6)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  618. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  619. }
  620.  else if((6)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  621. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  622. }
  623.  else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  624. }
  625. /*FI]*/
  626. }
  627. /*No:CALL_INFIX_LT.is_void*/
  628.  
  629.  
  630. T0* r109operator(void){
  631. T0* R=NULL;
  632. R=((T0*)ms13_61);
  633. return R;
  634. }
  635. /*No:CALL_INFIX_LT.atomic_precedence*/
  636. /*No:LOOP_INVARIANT.nb_errors*/
  637. /*No:LOOP_INVARIANT.start_position*/
  638.  
  639.  
  640. T0* r227twin(T227* C){
  641. T0* R=NULL;
  642. R=malloc(sizeof(*C));
  643. *((T227*)R)=*C;
  644. return R;
  645. }
  646.  
  647.  
  648. T0* r227runnable(T0* a1,T0* a2,T0* a3){
  649. T0* R=NULL;
  650. T0* _a=NULL;
  651. T2 _i=0;
  652. /*[IF*/
  653. if(!(r88empty(((T88*)a1)))){
  654. R=r88twin(((T88*)a1));
  655. _i=(((T88*)R))->_upper/*8*/;
  656. while (!((_i)==(0))) {
  657. r42push((T42*)(oBC11small_eiffel),a3);
  658. _a=r85to_runnable((T85*)(r88item(((T88*)R),_i)),a2);
  659. /*[IF*/
  660. if((_a)==((void*)(NULL))){
  661. r227error(r85start_position((T85*)(r88item(((T88*)R),_i))),((T0*)ms12_14266));
  662. }
  663. else{
  664. /*[IRF3.6put*/{T88* C1=((T88*)R);
  665. T0* b1=_a;
  666. T2 b2=_i;
  667. ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
  668. }/*]*/
  669. }
  670. /*FI]*/
  671. r42pop((T42*)(oBC11small_eiffel));
  672. _i=(_i)-(1);
  673. }
  674. }
  675. /*FI]*/
  676. return R;
  677. }
  678. /*No:LOOP_INVARIANT.header_comment*/
  679.  
  680.  
  681. T0* r227to_runnable(T227* C,T0* a1){
  682. T0* R=NULL;
  683. /*[IF*/
  684. if(((C)->_current_type/*12*/)==((void*)(NULL))){
  685. C->_current_type=a1;
  686. C->_run_feature=r42top_rf((T42*)(oBC11small_eiffel));
  687. /*[IF*/
  688. if(((C)->_list/*8*/)!=((void*)(NULL))){
  689. C->_list=r227runnable((C)->_list/*8*/,a1,(C)->_run_feature/*16*/);
  690. }
  691. /*FI]*/
  692. /*[IF*/
  693. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  694. R=(T0*)C;
  695. }
  696. /*FI]*/
  697. }
  698. else{
  699. R=r227twin(C);
  700. /*[IRF3.3set_current_type*/((((T227*)(((T227*)R))))->_current_type)=(NULL);
  701. /*]*/
  702. R=r227to_runnable(((T227*)R),a1);
  703. }
  704. /*FI]*/
  705. return R;
  706. }
  707. /*No:LOOP_INVARIANT.set_current_type*/
  708. /*No:LOOP_INVARIANT.fz_bad_assertion*/
  709. /*No:LOOP_INVARIANT.current_type*/
  710.  
  711.  
  712. void r227error(T0* a1,T0* a2){
  713. r37add_position(a1);
  714. r37error((T37*)(oBC11eh),a2);
  715. }
  716. /*No:LOOP_INVARIANT.run_feature*/
  717.  
  718.  
  719. void r227make(T227* C,T0* a1,T0* a2,T0* a3){
  720. C->_start_position=a1;
  721. C->_header_comment=a2;
  722. C->_list=a3;
  723. }
  724.  
  725.  
  726. void r227pretty_print(T227* C){
  727. T2 _i=0;
  728. r310indent((T310*)(oBC11fmt));
  729. r310keyword((T310*)(oBC11fmt),r227name());
  730. r310level_incr((T310*)(oBC11fmt));
  731. /*[IF*/
  732. if(((C)->_header_comment/*4*/)!=((void*)(NULL))){
  733. r64pretty_print((T64*)((C)->_header_comment/*4*/));
  734. }
  735. else{
  736. r310indent((T310*)(oBC11fmt));
  737. }
  738. /*FI]*/
  739. /*[IF*/
  740. if(((C)->_list/*8*/)!=((void*)(NULL))){
  741. _i=1;
  742. while (!((_i)>(((T88*)((C)->_list/*8*/))->_upper/*8*/))) {
  743. /*[IF*/
  744. if(r6_px_and(r310zen_mode((T310*)(oBC11fmt)),(_i)==(((T88*)((C)->_list/*8*/))->_upper/*8*/))){
  745. /*[IRF3.3set_semi_colon_flag*/((((T310*)((T310*)(oBC11fmt))))->_semi_colon_flag)=(0);
  746. /*]*/
  747. }
  748. else{
  749. /*[IRF3.3set_semi_colon_flag*/((((T310*)((T310*)(oBC11fmt))))->_semi_colon_flag)=(1);
  750. /*]*/
  751. }
  752. /*FI]*/
  753. r310indent((T310*)(oBC11fmt));
  754. r85pretty_print((T85*)(r88item((T88*)((C)->_list/*8*/),_i)));
  755. _i=(_i)+(1);
  756. }
  757. }
  758. /*FI]*/
  759. r310level_decr((T310*)(oBC11fmt));
  760. r310indent((T310*)(oBC11fmt));
  761. }
  762.  
  763.  
  764. T0* r227name(void){
  765. T0* R=NULL;
  766. R=((T0*)ms227_14427);
  767. return R;
  768. }
  769. /*No:LOOP_INVARIANT.list*/
  770.  
  771.  
  772. T0* r241generic_list(T241* C){
  773. T0* R=NULL;
  774. /*[IF*/
  775. if(r241is_generic(C)){
  776. R=X62generic_list((C)->_run_type/*8*/);
  777. }
  778. else{
  779. r241fatal_error_generic_list(C);
  780. }
  781. /*FI]*/
  782. return R;
  783. }
  784.  
  785.  
  786. T0* r241base_class(T241* C){
  787. T0* R=NULL;
  788. T0* _bcn=NULL;
  789. _bcn=r241base_class_name(C);
  790. /*[IF*/
  791. if((_bcn)!=((void*)(NULL))){
  792. R=r49base_class(((T49*)_bcn));
  793. }
  794. else{
  795. /*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
  796. r7append((T7*)(oBC37explanation),b1);
  797. }/*]*/
  798. r37add_type((T0*)C,((T0*)ms12_47));
  799. r37print_as_fatal_error((T37*)(oBC11eh));
  800. }
  801. /*FI]*/
  802. return R;
  803. }
  804.  
  805.  
  806. T0* r241base_class_name(T241* C){
  807. T0* R=NULL;
  808. R=X62base_class_name((C)->_run_type/*8*/);
  809. return R;
  810. }
  811. /*No:TYPE_LIKE_CURRENT.start_position*/
  812. /*No:TYPE_LIKE_CURRENT.is_formal_generic*/
  813.  
  814.  
  815. void r241used_as_reference(T241* C){
  816. X62used_as_reference((C)->_run_type/*8*/);
  817. }
  818.  
  819.  
  820. T6 r241is_a_in(T241* C,T0* a1,T0* a2){
  821. T6 R=0;
  822. T0* _ct=NULL;
  823. T0* _t2=NULL;
  824. T0* _t1=NULL;
  825. /*[IF*/
  826. if((r241written_mark())==((void*)(X62written_mark(a1)))){
  827. R=1;
  828. }
  829. else{
  830. _ct=(((T313*)a2))->_current_type/*0*/;
  831. _t1=r241to_runnable(C,_ct);
  832. _t2=X62to_runnable(a1,_ct);
  833. /*[IF*/
  834. if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
  835. R=1;
  836. }
  837. else{
  838. R=X62is_a(_t1,_t2);
  839. }
  840. /*FI]*/
  841. }
  842. /*FI]*/
  843. return R;
  844. }
  845.  
  846.  
  847. T2 r241id(T241* C){
  848. T2 R=0;
  849. R=((T313*)(r241run_class(C)))->_id/*4*/;
  850. return R;
  851. }
  852.  
  853.  
  854. T6 r241is_pointer(T241* C){
  855. T6 R=0;
  856. R=X62is_pointer((C)->_run_type/*8*/);
  857. return R;
  858. }
  859.  
  860.  
  861. T0* r241look_up_for(T241* C,T0* a1,T0* a2){
  862. T0* R=NULL;
  863. R=r41look_up_for((T41*)(r241base_class(C)),a1,a2);
  864. return R;
  865. }
  866.  
  867.  
  868. T0* r241to_runnable(T241* C,T0* a1){
  869. T0* R=NULL;
  870. /*[IF*/
  871. if(((C)->_run_type/*8*/)==((void*)(NULL))){
  872. C->_run_type=a1;
  873. R=(T0*)C;
  874. }
  875.  else if(((C)->_run_type/*8*/)==((void*)(a1))){
  876. R=(T0*)C;
  877. }
  878. else{
  879. {T241*n=malloc(sizeof(*n));
  880. *n=M241;
  881. r241with(n,(T0*)C,a1);
  882. R=(T0*)n;
  883. }
  884. }
  885. /*FI]*/
  886. return R;
  887. }
  888. /*No:TYPE_LIKE_CURRENT.run_type*/
  889.  
  890.  
  891. T0* r241run_class(T241* C){
  892. T0* R=NULL;
  893. R=r42run_class((C)->_run_type/*8*/);
  894. return R;
  895. }
  896. /*No:TYPE_LIKE_CURRENT.us_like_current*/
  897.  
  898.  
  899. T6 r241has_creation(T241* C,T0* a1){
  900. T6 R=0;
  901. R=X62has_creation((C)->_run_type/*8*/,a1);
  902. return R;
  903. }
  904.  
  905.  
  906. T0* r241expanded_initializer(T241* C){
  907. T0* R=NULL;
  908. R=X62expanded_initializer((C)->_run_type/*8*/);
  909. return R;
  910. }
  911. /*No:TYPE_LIKE_CURRENT.is_like_current*/
  912.  
  913.  
  914. T6 r241is_boolean(T241* C){
  915. T6 R=0;
  916. R=X62is_boolean((C)->_run_type/*8*/);
  917. return R;
  918. }
  919.  
  920.  
  921. T6 r241is_generic(T241* C){
  922. T6 R=0;
  923. R=X62is_generic((C)->_run_type/*8*/);
  924. return R;
  925. }
  926.  
  927.  
  928. T6 r241is_bit(T241* C){
  929. T6 R=0;
  930. R=X62is_bit((C)->_run_type/*8*/);
  931. return R;
  932. }
  933.  
  934.  
  935. T6 r241is_real(T241* C){
  936. T6 R=0;
  937. R=X62is_real((C)->_run_type/*8*/);
  938. return R;
  939. }
  940.  
  941.  
  942. void r241with(T241* C,T0* a1,T0* a2){
  943. C->_start_position=(((T241*)a1))->_start_position/*4*/;
  944. C->_run_type=a2;
  945. }
  946.  
  947.  
  948. T0* r241smallest_ancestor(T241* C,T0* a1){
  949. T0* R=NULL;
  950. R=X62smallest_ancestor((C)->_run_type/*8*/,a1);
  951. return R;
  952. }
  953.  
  954.  
  955. T6 r241is_any(T241* C){
  956. T6 R=0;
  957. R=X62is_any((C)->_run_type/*8*/);
  958. return R;
  959. }
  960.  
  961.  
  962. T0* r241run_time_mark(T241* C){
  963. T0* R=NULL;
  964. /*[IF*/
  965. if(((C)->_run_type/*8*/)!=((void*)(NULL))){
  966. R=X62run_time_mark((C)->_run_type/*8*/);
  967. }
  968. /*FI]*/
  969. return R;
  970. }
  971.  
  972.  
  973. T6 r241is_expanded(T241* C){
  974. T6 R=0;
  975. R=X62is_expanded((C)->_run_type/*8*/);
  976. return R;
  977. }
  978.  
  979.  
  980. T6 r241is_basic_eiffel_expanded(T241* C){
  981. T6 R=0;
  982. R=X62is_basic_eiffel_expanded((C)->_run_type/*8*/);
  983. return R;
  984. }
  985.  
  986.  
  987. T6 r241is_string(T241* C){
  988. T6 R=0;
  989. R=X62is_string((C)->_run_type/*8*/);
  990. return R;
  991. }
  992.  
  993.  
  994. T6 r241is_integer(T241* C){
  995. T6 R=0;
  996. R=X62is_integer((C)->_run_type/*8*/);
  997. return R;
  998. }
  999. /*No:TYPE_LIKE_CURRENT.is_like_feature*/
  1000. /*No:TYPE_LIKE_CURRENT.fz_dot*/
  1001. /*No:TYPE_LIKE_CURRENT.is_anchored*/
  1002. /*No:TYPE_LIKE_CURRENT.is_run_type*/
  1003.  
  1004.  
  1005. T6 r241is_a(T241* C,T0* a1){
  1006. T6 R=0;
  1007. /*[IF*/
  1008. if(X62is_like_current(a1)){
  1009. R=1;
  1010. }
  1011. else{
  1012. R=X62is_a((C)->_run_type/*8*/,a1);
  1013. }
  1014. /*FI]*/
  1015. return R;
  1016. }
  1017.  
  1018.  
  1019. T6 r241is_character(T241* C){
  1020. T6 R=0;
  1021. R=X62is_character((C)->_run_type/*8*/);
  1022. return R;
  1023. }
  1024.  
  1025.  
  1026. T6 r241is_reference(T241* C){
  1027. T6 R=0;
  1028. R=X62is_reference((C)->_run_type/*8*/);
  1029. return R;
  1030. }
  1031.  
  1032.  
  1033. T0* r241written_mark(void){
  1034. T0* R=NULL;
  1035. R=((T0*)ms13_22320);
  1036. return R;
  1037. }
  1038. /*No:TYPE_LIKE_CURRENT.make*/
  1039.  
  1040.  
  1041. T6 r241is_none(T241* C){
  1042. T6 R=0;
  1043. R=X62is_none((C)->_run_type/*8*/);
  1044. return R;
  1045. }
  1046. /*No:TYPE_LIKE_CURRENT.pretty_print*/
  1047.  
  1048.  
  1049. T6 r241is_array(T241* C){
  1050. T6 R=0;
  1051. R=X62is_array((C)->_run_type/*8*/);
  1052. return R;
  1053. }
  1054.  
  1055.  
  1056. void r241fatal_error_generic_list(T241* C){
  1057. r37add_type((T0*)C,((T0*)ms62_29184));
  1058. r37print_as_fatal_error((T37*)(oBC11eh));
  1059. }
  1060. /*No:TYPE_LIKE_CURRENT.is_like_argument*/
  1061.  
  1062.  
  1063. T6 r241is_double(T241* C){
  1064. T6 R=0;
  1065. R=X62is_double((C)->_run_type/*8*/);
  1066. return R;
  1067. }
  1068. /*No:STD_FILE_WRITE.path*/
  1069.  
  1070.  
  1071. void r309connect_to(T309* C,T0* a1){
  1072. T8 _p=0;
  1073. _p=r7to_external(((T7*)a1));
  1074. C->_output_stream=fopen((char*)_p,"w");
  1075. /*[IF*/
  1076. if((NULL!=(C)->_output_stream/*4*/)){
  1077. C->_path=a1;
  1078. }
  1079. /*FI]*/
  1080. }
  1081. /*No:STD_FILE_WRITE.is_connected*/
  1082. /*No:STD_FILE_WRITE.output_stream*/
  1083.  
  1084.  
  1085. void r309disconnect(T309* C){
  1086. fclose((C)->_output_stream/*4*/);
  1087. C->_path=NULL;
  1088. }
  1089. /*No:STD_FILE_WRITE.make*/
  1090. /*No:STD_FILE_WRITE.put_character*/
  1091. /*No:TYPE_ARRAY.generic_list*/
  1092.  
  1093.  
  1094. T0* r244base_class(T244* C){
  1095. T0* R=NULL;
  1096. T0* _bcn=NULL;
  1097. _bcn=(C)->_base_class_name/*4*/;
  1098. /*[IF*/
  1099. if((_bcn)!=((void*)(NULL))){
  1100. R=r49base_class(((T49*)_bcn));
  1101. }
  1102. else{
  1103. /*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
  1104. r7append((T7*)(oBC37explanation),b1);
  1105. }/*]*/
  1106. r37add_type((T0*)C,((T0*)ms12_47));
  1107. r37print_as_fatal_error((T37*)(oBC11eh));
  1108. }
  1109. /*FI]*/
  1110. return R;
  1111. }
  1112. /*No:TYPE_ARRAY.base_class_name*/
  1113. /*No:TYPE_ARRAY.start_position*/
  1114. /*No:TYPE_ARRAY.us_capacity*/
  1115. /*No:TYPE_ARRAY.is_formal_generic*/
  1116. /*No:TYPE_ARRAY.run_type_memory*/
  1117. /*No:TYPE_ARRAY.used_as_reference*/
  1118.  
  1119.  
  1120. T6 r244is_a_in(T244* C,T0* a1,T0* a2){
  1121. T6 R=0;
  1122. T0* _ct=NULL;
  1123. T0* _t2=NULL;
  1124. T0* _t1=NULL;
  1125. /*[IF*/
  1126. if(((C)->_written_mark/*12*/)==((void*)(X62written_mark(a1)))){
  1127. R=1;
  1128. }
  1129. else{
  1130. _ct=(((T313*)a2))->_current_type/*0*/;
  1131. _t1=r244to_runnable(C,_ct);
  1132. _t2=X62to_runnable(a1,_ct);
  1133. /*[IF*/
  1134. if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
  1135. R=1;
  1136. }
  1137. else{
  1138. R=X62is_a(_t1,_t2);
  1139. }
  1140. /*FI]*/
  1141. }
  1142. /*FI]*/
  1143. return R;
  1144. }
  1145.  
  1146.  
  1147. T2 r244id(T244* C){
  1148. T2 R=0;
  1149. R=((T313*)(r244run_class(C)))->_id/*4*/;
  1150. return R;
  1151. }
  1152. /*No:TYPE_ARRAY.is_pointer*/
  1153.  
  1154.  
  1155. T0* r244look_up_for(T244* C,T0* a1,T0* a2){
  1156. T0* R=NULL;
  1157. R=r41look_up_for((T41*)(r244base_class(C)),a1,a2);
  1158. return R;
  1159. }
  1160.  
  1161.  
  1162. T0* r244to_runnable(T244* C,T0* a1){
  1163. T0* R=NULL;
  1164. T0* _et2=NULL;
  1165. T0* _et1=NULL;
  1166. _et1=/*(IRF4.6array_of*/r245first(((T245*)((C)->_generic_list/*8*/)))/*)*/;
  1167. _et2=X62to_runnable(_et1,a1);
  1168. /*[IF*/
  1169. if((_et2)==((void*)(NULL))){
  1170. /*[IF*/
  1171. if((_et2)!=((void*)(NULL))){
  1172. r37add_position(X62start_position(_et2));
  1173. }
  1174. /*FI]*/
  1175. r37add_position(X62start_position(_et1));
  1176. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_28959);
  1177. r37fatal_error((T37*)(oBC11eh),b1);
  1178. }/*]*/
  1179. }
  1180. /*FI]*/
  1181. /*[IF*/
  1182. if(((C)->_run_type_memory/*16*/)==((void*)(NULL))){
  1183. R=(T0*)C;
  1184. /*[IF*/
  1185. if((X62run_type(_et2))==((void*)(_et1))){
  1186. C->_run_type_memory=(T0*)C;
  1187. }
  1188. else{
  1189. {T244*n=malloc(sizeof(*n));
  1190. *n=M244;
  1191. r244final(n,(C)->_base_class_name/*4*/,X62run_type(_et2));
  1192. C->_run_type_memory=(T0*)n;
  1193. }
  1194. }
  1195. /*FI]*/
  1196. }
  1197.  else if((_et2)==((void*)(_et1))){
  1198. R=(T0*)C;
  1199. }
  1200. else{
  1201. {T244*n=malloc(sizeof(*n));
  1202. *n=M244;
  1203. r244with(n,(C)->_base_class_name/*4*/,(C)->_written_mark/*12*/,_et2);
  1204. R=(T0*)n;
  1205. }
  1206. }
  1207. /*FI]*/
  1208. return R;
  1209. }
  1210. /*No:TYPE_ARRAY.array_of*/
  1211.  
  1212.  
  1213. void r244load_basic_features(T244* C){
  1214. T0* _rc=NULL;
  1215. T0* _rf=NULL;
  1216. T0* _et=NULL;
  1217. _et=/*(IRF4.6array_of*/r245first(((T245*)((C)->_generic_list/*8*/)))/*)*/;
  1218. /*[IF*/
  1219. if(X62is_expanded(_et)){
  1220. r313set_at_run_time((T313*)(X62run_class(_et)));
  1221. }
  1222. /*FI]*/
  1223. _rc=r244run_class(C);
  1224. _rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_11896));
  1225. _rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_2840));
  1226. _rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_2855));
  1227. _rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_8925));
  1228. }
  1229.  
  1230.  
  1231. T0* r244run_type(T244* C){
  1232. T0* R=NULL;
  1233. /*[IF*/
  1234. if(r244is_run_type(C)){
  1235. R=(C)->_run_type_memory/*16*/;
  1236. }
  1237. /*FI]*/
  1238. return R;
  1239. }
  1240.  
  1241.  
  1242. T0* r244run_class(T244* C){
  1243. T0* R=NULL;
  1244. /*[IF*/
  1245. if(r244is_run_type(C)){
  1246. R=r42run_class(r244run_type(C));
  1247. }
  1248. /*FI]*/
  1249. return R;
  1250. }
  1251.  
  1252.  
  1253. T6 r244has_creation(T244* C,T0* a1){
  1254. T6 R=0;
  1255. /*[IF*/
  1256. if((C)==((void*)(r244run_type(C)))){
  1257. R=r41has_creation((T41*)(r244base_class(C)),a1);
  1258. }
  1259. else{
  1260. R=X62has_creation(r244run_type(C),a1);
  1261. }
  1262. /*FI]*/
  1263. return R;
  1264. }
  1265. /*No:TYPE_ARRAY.expanded_initializer*/
  1266. /*No:TYPE_ARRAY.is_like_current*/
  1267. /*No:TYPE_ARRAY.is_boolean*/
  1268. /*No:TYPE_ARRAY.us_lower*/
  1269. /*No:TYPE_ARRAY.is_generic*/
  1270. /*No:TYPE_ARRAY.us_array*/
  1271. /*No:TYPE_ARRAY.is_bit*/
  1272. /*No:TYPE_ARRAY.is_real*/
  1273. /*No:TYPE_ARRAY.us_storage*/
  1274.  
  1275.  
  1276. void r244with(T244* C,T0* a1,T0* a2,T0* a3){
  1277. C->_base_class_name=a1;
  1278. C->_generic_list=se_ma245(1,
  1279. a3);
  1280. C->_written_mark=a2;
  1281. {T244*n=malloc(sizeof(*n));
  1282. *n=M244;
  1283. r244final(n,a1,X62run_type(a3));
  1284. C->_run_type_memory=(T0*)n;
  1285. }
  1286. }
  1287.  
  1288.  
  1289. T0* r244smallest_ancestor(T244* C,T0* a1){
  1290. T0* R=NULL;
  1291. T0* _array_of3=NULL;
  1292. T0* _array_of2=NULL;
  1293. T0* _array_of1=NULL;
  1294. T0* _rto=NULL;
  1295. _rto=X62run_type(a1);
  1296. /*[IF*/
  1297. if(X62is_array(_rto)){
  1298. _array_of1=X62run_type(/*(IRF4.6array_of*/r245first(((T245*)((C)->_generic_list/*8*/)))/*)*/);
  1299. _array_of2=r245first((T245*)(X62generic_list(_rto)));
  1300. _array_of3=X62smallest_ancestor(_array_of1,_array_of2);
  1301. /*[IF*/
  1302. if((_array_of3)==((void*)(_array_of1))){
  1303. R=(T0*)C;
  1304. }
  1305.  else if((_array_of3)==((void*)(_array_of2))){
  1306. R=a1;
  1307. }
  1308. else{
  1309. {T244*n=malloc(sizeof(*n));
  1310. *n=M244;
  1311. r244make(n,NULL,_array_of3);
  1312. R=(T0*)n;
  1313. }
  1314. }
  1315. /*FI]*/
  1316. }
  1317. else{
  1318. R=X62smallest_ancestor(_rto,(T0*)C);
  1319. }
  1320. /*FI]*/
  1321. return R;
  1322. }
  1323. /*No:TYPE_ARRAY.is_any*/
  1324. /*No:TYPE_ARRAY.fatal_error*/
  1325.  
  1326.  
  1327. T0* r244run_time_mark(T244* C){
  1328. T0* R=NULL;
  1329. /*[IF*/
  1330. if(r244is_run_type(C)){
  1331. R=X62written_mark(r244run_type(C));
  1332. }
  1333. /*FI]*/
  1334. return R;
  1335. }
  1336. /*No:TYPE_ARRAY.is_expanded*/
  1337. /*No:TYPE_ARRAY.is_basic_eiffel_expanded*/
  1338. /*No:TYPE_ARRAY.is_string*/
  1339. /*No:TYPE_ARRAY.is_integer*/
  1340. /*No:TYPE_ARRAY.is_like_feature*/
  1341. /*No:TYPE_ARRAY.fz_dot*/
  1342. /*No:TYPE_ARRAY.is_anchored*/
  1343. /*No:TYPE_ARRAY.us_upper*/
  1344.  
  1345.  
  1346. T6 r244is_a(T244* C,T0* a1){
  1347. T6 R=0;
  1348. /*[IF*/
  1349. if((r244run_class(C))==((void*)(X62run_class(a1)))){
  1350. R=1;
  1351. }
  1352.  else if(X62is_array(a1)){
  1353. R=X62is_a(/*(IRF4.6array_of*/r245first(((T245*)((C)->_generic_list/*8*/)))/*)*/,r245first((T245*)(X62generic_list(a1))));
  1354. /*[IF*/
  1355. if(!(R)){
  1356. /*[IRF3.6extend*/{T3 b1='\40';
  1357. r7extend((T7*)(oBC37explanation),b1);
  1358. }/*]*/
  1359. }
  1360. /*FI]*/
  1361. }
  1362.  else if(r41is_subclass_of((T41*)(r244base_class(C)),X62base_class(a1))){
  1363. /*[IF*/
  1364. if(X62is_generic(a1)){
  1365. R=r41is_a_vncg((T41*)(r244base_class(C)),(T0*)C,a1);
  1366. }
  1367. else{
  1368. R=1;
  1369. }
  1370. /*FI]*/
  1371. }
  1372. /*FI]*/
  1373. /*[IF*/
  1374. if(!(R)){
  1375. r37add_type((T0*)C,((T0*)ms12_17730));
  1376. r37add_type(a1,((T0*)ms12_47));
  1377. }
  1378. /*FI]*/
  1379. return R;
  1380. }
  1381.  
  1382.  
  1383. T6 r244is_run_type(T244* C){
  1384. T6 R=0;
  1385. T0* _et=NULL;
  1386. /*[IF*/
  1387. if(((C)->_run_type_memory/*16*/)!=((void*)(NULL))){
  1388. R=1;
  1389. }
  1390. else{
  1391. _et=/*(IRF4.6array_of*/r245first(((T245*)((C)->_generic_list/*8*/)))/*)*/;
  1392. /*[IF*/
  1393. if((X62is_run_type(_et))&&((X62run_type(_et))==((void*)(_et)))){
  1394. C->_run_type_memory=(T0*)C;
  1395. R=1;
  1396. }
  1397. /*FI]*/
  1398. }
  1399. /*FI]*/
  1400. return R;
  1401. }
  1402. /*No:TYPE_ARRAY.is_character*/
  1403. /*No:TYPE_ARRAY.is_reference*/
  1404. /*No:TYPE_ARRAY.written_mark*/
  1405. T0*oBC244tmp_written_mark=NULL;
  1406.  
  1407.  
  1408. void r244make(T244* C,T0* a1,T0* a2){
  1409. {T49*n=malloc(sizeof(*n));
  1410. *n=M49;
  1411. r49make(n,((T0*)ms13_1990),a1);
  1412. C->_base_class_name=(T0*)n;
  1413. }
  1414. C->_generic_list=se_ma245(1,
  1415. a2);
  1416. r7copy((T7*)(oBC244tmp_written_mark),((T0*)ms13_1990));
  1417. r7extend((T7*)(oBC244tmp_written_mark),'\133');
  1418. r7append((T7*)(oBC244tmp_written_mark),X62written_mark(a2));
  1419. r7extend((T7*)(oBC244tmp_written_mark),'\135');
  1420. C->_written_mark=r66item(oBC244tmp_written_mark);
  1421. }
  1422. /*No:TYPE_ARRAY.is_none*/
  1423. /*No:TYPE_ARRAY.pretty_print*/
  1424. /*No:TYPE_ARRAY.is_array*/
  1425. /*No:TYPE_ARRAY.fz_inako*/
  1426. /*No:TYPE_ARRAY.fz_bga*/
  1427. /*No:TYPE_ARRAY.is_like_argument*/
  1428. /*No:TYPE_ARRAY.is_double*/
  1429.  
  1430.  
  1431. void r244final(T244* C,T0* a1,T0* a2){
  1432. C->_base_class_name=a1;
  1433. C->_generic_list=se_ma245(1,
  1434. a2);
  1435. r7copy((T7*)(oBC244tmp_written_mark),((T0*)ms13_1990));
  1436. r7extend((T7*)(oBC244tmp_written_mark),'\133');
  1437. r7append((T7*)(oBC244tmp_written_mark),X62written_mark(a2));
  1438. r7extend((T7*)(oBC244tmp_written_mark),'\135');
  1439. C->_written_mark=r66item(oBC244tmp_written_mark);
  1440. C->_run_type_memory=(T0*)C;
  1441. }
  1442. /*No:REAL_CONSTANT.start_position*/
  1443. /*No:REAL_CONSTANT.to_string*/
  1444.  
  1445.  
  1446. T0* r157add_comment(T157* C,T0* a1){
  1447. T0* R=NULL;
  1448. /*[IF*/
  1449. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  1450. R=(T0*)C;
  1451. }
  1452. else{
  1453. {T214*n=malloc(sizeof(*n));
  1454. *n=M214;
  1455. r214make(n,(T0*)C,a1);
  1456. R=(T0*)n;
  1457. }
  1458. }
  1459. /*FI]*/
  1460. return R;
  1461. }
  1462.  
  1463.  
  1464. T2 r157to_integer(T157* C){
  1465. T2 R=0;
  1466. r157error((C)->_start_position/*4*/,((T0*)ms12_45846));
  1467. return R;
  1468. }
  1469.  
  1470.  
  1471. void r157print_as_target(T157* C){
  1472. r310put_character((T310*)(oBC11fmt),'\50');
  1473. /*[IRF3.6pretty_print*/{T157* C1=C;
  1474. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*8*/);
  1475. }/*]*/
  1476. r310put_character((T310*)(oBC11fmt),'\51');
  1477. r310put_character((T310*)(oBC11fmt),'\56');
  1478. }
  1479. /*No:REAL_CONSTANT.bracketed_pretty_print*/
  1480. /*No:REAL_CONSTANT.to_runnable*/
  1481. /*No:REAL_CONSTANT.fz_iinaiv*/
  1482. int fBC157result_type=0;
  1483. T0*oBC157result_type=NULL;
  1484.  
  1485.  
  1486. T0* r157result_type(void){
  1487. if(fBC157result_type==0){
  1488. fBC157result_type=1;
  1489. {T255*n=malloc(sizeof(*n));
  1490. *n=M255;
  1491. r255make(n,NULL);
  1492. oBC157result_type=(T0*)n;
  1493. }
  1494. }
  1495. return oBC157result_type;}
  1496.  
  1497.  
  1498. void r157error(T0* a1,T0* a2){
  1499. r37add_position(a1);
  1500. r37error((T37*)(oBC11eh),a2);
  1501. }
  1502. /*No:REAL_CONSTANT.precedence*/
  1503.  
  1504.  
  1505. void r157make(T157* C,T0* a1,T0* a2){
  1506. C->_start_position=a1;
  1507. C->_to_string=a2;
  1508. }
  1509. /*No:REAL_CONSTANT.is_current*/
  1510. /*No:REAL_CONSTANT.unary_minus*/
  1511. /*No:REAL_CONSTANT.pretty_print*/
  1512. /*No:REAL_CONSTANT.is_void*/
  1513. /*No:REAL_CONSTANT.atomic_precedence*/
  1514. /*No:LOCAL_NAME2.start_position*/
  1515.  
  1516.  
  1517. T0* r164to_string(T164* C){
  1518. T0* R=NULL;
  1519. R=((T167*)(/*(IRF4.6name*/r169item(((T169*)(((T162*)((C)->_local_var_list/*12*/))->_flat_list/*8*/)),(C)->_rank/*8*/)/*)*/))->_to_string/*8*/;
  1520. return R;
  1521. }
  1522.  
  1523.  
  1524. T0* r164add_comment(T164* C,T0* a1){
  1525. T0* R=NULL;
  1526. /*[IF*/
  1527. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  1528. R=(T0*)C;
  1529. }
  1530. else{
  1531. {T214*n=malloc(sizeof(*n));
  1532. *n=M214;
  1533. r214make(n,(T0*)C,a1);
  1534. R=(T0*)n;
  1535. }
  1536. }
  1537. /*FI]*/
  1538. return R;
  1539. }
  1540.  
  1541.  
  1542. T2 r164to_integer(T164* C){
  1543. T2 R=0;
  1544. r164error((C)->_start_position/*4*/,((T0*)ms12_45846));
  1545. return R;
  1546. }
  1547.  
  1548.  
  1549. void r164print_as_target(T164* C){
  1550. r310put_string((T310*)(oBC11fmt),r164to_string(C));
  1551. r310put_character((T310*)(oBC11fmt),'\56');
  1552. }
  1553. /*No:LOCAL_NAME2.rank*/
  1554. /*No:LOCAL_NAME2.bracketed_pretty_print*/
  1555. /*No:LOCAL_NAME2.local_var_list*/
  1556.  
  1557.  
  1558. T0* r164to_runnable(T164* C,T0* a1){
  1559. T0* R=NULL;
  1560. T0* _lvl=NULL;
  1561. T0* _rf=NULL;
  1562. _rf=r42top_rf((T42*)(oBC11small_eiffel));
  1563. _lvl=X312local_vars(_rf);
  1564. /*[IF*/
  1565. if(((C)->_local_var_list/*12*/)==((void*)(_lvl))){
  1566. R=(T0*)C;
  1567. }
  1568. else{
  1569. {T164*n=malloc(sizeof(*n));
  1570. *n=M164;
  1571. r164refer_to(n,(C)->_start_position/*4*/,_lvl,(C)->_rank/*8*/);
  1572. R=(T0*)n;
  1573. }
  1574. }
  1575. /*FI]*/
  1576. /*[IRF3.3set_is_used*/((((T167*)((T167*)(/*(IRF4.6name*/r169item(((T169*)((((T162*)_lvl))->_flat_list/*8*/)),(C)->_rank/*8*/)/*)*/))))->_is_used)=(1);
  1577. /*]*/
  1578. return R;
  1579. }
  1580. /*No:LOCAL_NAME2.fz_iinaiv*/
  1581.  
  1582.  
  1583. void r164refer_to(T164* C,T0* a1,T0* a2,T2 a3){
  1584. C->_start_position=a1;
  1585. C->_local_var_list=a2;
  1586. C->_rank=a3;
  1587. }
  1588.  
  1589.  
  1590. T0* r164result_type(T164* C){
  1591. T0* R=NULL;
  1592. R=r162type((T162*)((C)->_local_var_list/*12*/),(C)->_rank/*8*/);
  1593. return R;
  1594. }
  1595.  
  1596.  
  1597. void r164error(T0* a1,T0* a2){
  1598. r37add_position(a1);
  1599. r37error((T37*)(oBC11eh),a2);
  1600. }
  1601. /*No:LOCAL_NAME2.precedence*/
  1602. /*No:LOCAL_NAME2.is_current*/
  1603. /*No:LOCAL_NAME2.pretty_print*/
  1604. /*No:LOCAL_NAME2.is_void*/
  1605. /*No:LOCAL_NAME2.atomic_precedence*/
  1606. /*No:RUN_FEATURE_7.us_copy*/
  1607. /*No:RUN_FEATURE_7.use_current_state*/
  1608. /*No:RUN_FEATURE_7.actuals_clients*/
  1609. /*No:RUN_FEATURE_7.arguments*/
  1610.  
  1611.  
  1612. void r335initialize(T335* C){
  1613. T0* _n=NULL;
  1614. _n=X65to_string(/*(IRF4.6first_name*/r67item(((T67*)(((T275*)((C)->_base_feature/*32*/))->_names/*8*/)),1)/*)*/);
  1615. C->_arguments=((T275*)((C)->_base_feature/*32*/))->_arguments/*20*/;
  1616. /*[IF*/
  1617. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1618. /*[IF*/
  1619. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  1620. {T171*n=malloc(sizeof(*n));
  1621. *n=M171;
  1622. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  1623. C->_arguments=(T0*)n;
  1624. }
  1625. }
  1626. /*FI]*/
  1627. }
  1628. /*FI]*/
  1629. /*[IF*/
  1630. if(r54require_check((T54*)(oBC11run_control))){
  1631. /*[IF*/
  1632. if(((((T0*)ms13_1812))==((void*)(X65to_string((C)->_name/*16*/))))&&(X62is_expanded((C)->_current_type/*4*/))){
  1633. }
  1634. else{
  1635. C->_require_assertion=r275run_require((T0*)C);
  1636. }
  1637. /*FI]*/
  1638. }
  1639. /*FI]*/
  1640. /*[IF*/
  1641. if(r54ensure_check((T54*)(oBC11run_control))){
  1642. C->_ensure_assertion=r275run_ensure((T0*)C);
  1643. }
  1644. /*FI]*/
  1645. /*[IF*/
  1646. if((((T0*)ms13_32955))==((void*)(_n))){
  1647. /*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
  1648. /*]*/
  1649. }
  1650. /*FI]*/
  1651. }
  1652.  
  1653.  
  1654. T0* r335start_position(T335* C){
  1655. T0* R=NULL;
  1656. R=r275start_position((T275*)((C)->_base_feature/*32*/));
  1657. return R;
  1658. }
  1659. /*No:RUN_FEATURE_7.require_assertion*/
  1660. /*No:RUN_FEATURE_7.clients_memory*/
  1661. /*No:RUN_FEATURE_7.ucs_not_computed*/
  1662. /*No:RUN_FEATURE_7.current_type*/
  1663.  
  1664.  
  1665. void r335add_client(T335* C,T0* a1){
  1666. T2 _i=0;
  1667. /*[IF*/
  1668. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  1669. {T319*n=malloc(sizeof(*n));
  1670. *n=M319;
  1671. r319with_capacity(n,4);
  1672. C->_actuals_clients=(T0*)n;
  1673. }
  1674. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  1675. }
  1676. else{
  1677. _i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
  1678. /*[IF*/
  1679. if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  1680. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  1681. }
  1682. /*FI]*/
  1683. }
  1684. /*FI]*/
  1685. r313add_client((T313*)(r335run_class(C)),a1);
  1686. }
  1687.  
  1688.  
  1689. T0* r335run_class(T335* C){
  1690. T0* R=NULL;
  1691. R=X62run_class((C)->_current_type/*4*/);
  1692. return R;
  1693. }
  1694. /*No:RUN_FEATURE_7.result_type*/
  1695. /*No:RUN_FEATURE_7.base_feature*/
  1696. /*No:RUN_FEATURE_7.ensure_assertion*/
  1697.  
  1698.  
  1699. void r335make(T335* C,T0* a1,T0* a2,T0* a3){
  1700. C->_current_type=a1;
  1701. C->_name=a2;
  1702. C->_base_feature=a3;
  1703. /*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r335run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
  1704. /*]*/
  1705. r42incr_magic_count((T42*)(oBC11small_eiffel));
  1706. C->_use_current_state=15;
  1707. r42push((T42*)(oBC11small_eiffel),(T0*)C);
  1708. r335initialize(C);
  1709. r42pop((T42*)(oBC11small_eiffel));
  1710. }
  1711. /*No:RUN_FEATURE_7.name*/
  1712. /*No:RUN_FEATURE_7.local_vars*/
  1713.  
  1714.  
  1715. T2 r335arg_count(T335* C){
  1716. T2 R=0;
  1717. /*[IF*/
  1718. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1719. R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  1720. }
  1721. /*FI]*/
  1722. return R;
  1723. }
  1724.  
  1725.  
  1726. T0* r335clients(T335* C){
  1727. T0* R=NULL;
  1728. T0* _bfbc=NULL;
  1729. T0* _bc=NULL;
  1730. /*[IF*/
  1731. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  1732. _bc=X62base_class((C)->_current_type/*4*/);
  1733. _bfbc=((T275*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  1734. /*[IF*/
  1735. if((_bc)==((void*)(_bfbc))){
  1736. R=((T275*)((C)->_base_feature/*32*/))->_clients/*16*/;
  1737. }
  1738. else{
  1739. R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
  1740. }
  1741. /*FI]*/
  1742. C->_clients_memory=R;
  1743. }
  1744. else{
  1745. R=(C)->_clients_memory/*8*/;
  1746. }
  1747. /*FI]*/
  1748. return R;
  1749. }
  1750.  
  1751.  
  1752. T6 r335is_exported_in(T335* C,T0* a1){
  1753. T6 R=0;
  1754. R=r83gives_permission_to((T83*)(r335clients(C)),a1);
  1755. return R;
  1756. }
  1757. /*No:RUN_FEATURE_7.us_raise_exception*/
  1758.  
  1759.